Academic Open Internet Journal

www.acadjournal.com

Volume 13, 2004

 

 

A Novel approach for Implementing Security services

 

Dr. S. N. Sivanandam

Prof and Head

G.R.Karpagam

Assistant Professor

Dept of Computer Science and Engg

 PSG College of TechnologyIndia

                         

                                                               

Abstract

To share information in the distributed systems environment, it is necessary to have a secured computing environment. Traditional software Engineering approach has not been successful in the security service development, because of the platform dependency and frequent change in security requirements. Model based software development addresses the problems faced with frequent changes. Model Driven Architectural approach (MDA) helps in achieving platform independence and supports interoperability. In this paper, Meta models are developed for implementing security services in Distributed systems using Generic Modeling Environment. An interpreter is developed to transform independent models to specific and vice versa, thereby achieving round trip engineering.  This work helps in developing MDA Components for Security services in new and legacy systems

 

Key Words: Model Driven Architecture (MDA), Platform Specific Model (PSM), Platform Independent Model (PIM), cryptography, Smart card, Metamodel

                                                                                                                                          

To share information in the distributed systems Secured computing environment is mandatory for the people. Each platform proposes its own security software infrastructure. The need today is to port the existing security service mechanisms to the new technology, or to a newer version of an existing technology. It is necessary to produce security services or its components based on standards. This can be achieved by creating Integrated Development Environment using model-based generators. Model Driven Architecture addresses the above problems, and provides an approach that separates what systems must do from how it is implemented [16]. It provides a set of rules for structuring models. As security will play a central role in the design of Distributed Real time systems, the paper proposes a MDA based scheme for implementing security services considering smart card as an illustration. The main objective of MDA based approach is to define an approach to IT system specification that separates, the specification of system functionality from the implementation of that functionality on a specific technology platform. The central idea in the MDA is the use of a common stable model, which is language, vendor and middleware-neutral.

 

1.  Model Driven Architecture

The Model Driven Architecture (MDA) proposed by Object Management Group (OMG) puts a strong emphasis on fundamental notions such as models and Meta models, mappings, code generation and application deployment. MDA is reference software architecture, which uses models such as platform Independent Model (PIM), Platform Specific Model (PSM), and Meta models for design of portable and interoperable systems [10]. Platform Independent Model (PIM) is a model with a high level of abstraction that is independent of any implementation technology. Platform Specific Model (PSM) represents a realization of the PIM within the context of a particular software technology. The major characteristics of software engineering like Interoperability and reusability are achieved by transformation of models and management of metadata across all applications, platforms and tools [20]. The core of MDA involves Unified Modelling Language [14], Meta Object Facility and Common Warehouse Model [1]. MDA tools focuses on abstraction of the software system building. It combines domain specific modelling with code generation to support model-driven process [2, 6]

 

2. Smart Card Environment

The smart card is an intelligent token embedded with an integrated circuit chip. It provides not only memory capacity, but also computational capability. Smart card environment is prone to security breaches since the transactions are not under a single trust boundary. In a Smart Card-based system there are usually six parties involved which are as follows Card Holder, Data Owner, Terminal, Card Issuer, Card Manufacturer and Software Manufacturer [12]. Card Holder is the party who has the possession of the card. Data Owner is the party who has control of the data within the card. Terminal is a device that offers interactions with the world. Card Issuer is the party who issued the Smart Card. This party controls the operating system running on the Smart Card and any data that is initially stored on the Smart Card. Card Manufacturer is the party who produces the Smart Card and Software Manufacturer is the party who develops the software that resides in the Smart Card. Any party can pose the threat in the system. Each and every threat should be analyzed and the best possible solution should be implemented [4]

 

3. Security Services

Security is one of the basic needs in the design of distributed real time systems since more and more data are exchanged through these applications The Key issues in implementing security are authentication, authorization, integrity, confidentiality, non-repudiation and auditing. Possible security threats include Masquerading, Eaves dropping, Replaying and tampering. The schemes like cryptography, biometrics and stegnography addresses the above threats [3]

 

4. Proposed Scheme

The main objective of the proposed scheme is to design and develop security services using MDA based approach taking smart card as application. MDA tool used for development of the model is Generic Modelling Environment (GME)[2] and the language used for Translation is VC++[18]. Smartcard environment and its security services are represented in the Metamodel (Meta PIM, Meta PSM). Design of models and its transformation are achieved by developing an interpreter.  The complete work can be shown in two phases, Transformation of PIM to PSM (Forward Engineering) [13] and Transformation of PSM to PIM (Reverse Engineering). Figure 1 depicts the two different phases of the proposed scheme.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                                               Figure 1 Proposed Scheme

 

The sequences of steps involved in the transformation of PSM-PIM are Design of MetaPSM from the legacy code, Development of PSM, PSM to PIM transformation using Interpreter The Sequence of steps involved in the transformation of PIM-PSM are analysis of the environment and its security requirements, Design of MetaPIM, Development of PIM and PIM to PSM transformation using Interpreter.

 

4.1 Smartcard Environment Security services in the proposed Design

The threats for Smartcard environment can be classified into various categories like attack by a cardholder on terminal, and attack by a terminal on card issuer etc [12]. Table1 lists threats and the solutions designed in the proposed scheme. The cardholder interacts with the terminal to initiate any transaction. The terminal in turn accesses the Server (authenticating server) to authenticate the user. The server authenticates by providing a ticket to access the Ticket Granting Server. With this ticket the terminal accesses the application server. The server replies a positive acknowledgement on the completion of transaction. The model shown in figure 2 depicts the flow sequence in the proposed environment.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                Figure 2 Security services in the Smart card Environment

 

4.2 Transformation of PIM – PSM

The flow sequence in the proposed design depicted in figure 2 is used to design a Meta PIM. A Meta PIM is designed to provide cryptographic based security services. The steps involved in the design of MetaPIM are Identification of the entities, defining the attributes and functions, designing the relationships and connections between classes and defining constraints. PIM is designed using the MetaPIM. Figure 3 and 4 depicts the model of the security service provider and MetaPIM respectively.


 

 

 

 

 

 

 

 

 

 

                      

Figure 3 Meta Platform Independent Model

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

        Figure 4 Model of Security service provider in the proposed design

 

Security in the proposed design is provided by mechanisms namely authentication and authorization, cryptography and digital signature. Sequence of actions, for an aspect namely authentication shown in figure 5 is as follows. “The cardholder interacts with the terminal to initiate any transaction. The terminal in turn accesses the Authenticating Server in order to authenticate the user. The server authenticates by providing a ticket to access the Ticket Granting Server. With this ticket the terminal accesses the application server. The server replies a positive acknowledgement on the completion of transaction; else it replies a negative acknowledgement by sending an error report. The cryptographic algorithm used for authentication is RSA [8,17] and challenge response mechanism [9]. With these details Meta PIM is designed, which in turn is interpreted to a PIM. 

 

            Figure 5 Authentication Aspect in smart card environment

 


Mapping logic is developed to transform the PIM to PSM. The PSM can then be given to the Code Generator for generating the code. The phases in the development of Meta PIM are Identification of the entities, Defining the attributes and functions, Defining relationships and Designing the constraints. Different entities participating in the working of the Smart card environment are modelled as the derivatives of the First Class Objects in the Generic Modeling Environment (GME). The attributes and functions of all the classes in the context of the security service are identified and are added to the respective Classes. The relationships between different classes are defined as connections. Relationship between entities and the type of security service rendered in the proposed scheme is tabulated in table 2. The Constraints are modelled to say how a system should behave.

 

 

 

 

 

 

 

 

 

 

 

                    

 

 

 

 

 

 

 

 

 

 
Figure 6 Meta Platform Independent Model

 

In the proposed design these constraints are used to implement procedures like establishing connections between different parties of environment..  These constraints are written using the Object Constraint language (OCL) [5]. MetaPIM and PIM for the Smartcard environment with its security services are shown in figure 6 and 7 respectively. Mapping logic is developed to transform the PIM to PSM [15,19,21]. Figure 8 shows the  screen shot of transformation from PIM to PSM.

 

               

 

 

 

 

 

 

 

 

 

 

 

          Figure 7 Platform Independent Model

 

 

 

 

 

 

 

 

 

 

 

       Figure 8 screen shot of running the Interpreter

 

The PSM can then be given to the Code Generator for generating the code. The PIM model developed has a hierarchical tree structure that contains a Root Folder and many subfolders. The subfolder contains the root models namely the Paradigm Sheet, which contains the different components such as atoms, reference, set etc. This tree structure is used in accessing all the components of the model. To transform PIM into PSM an interpreter has to be designed in Visual C++ environment that traverses the hierarchical structure of the models and writes an XML file. This file is imported in the GME to get the PSM. In order to achieve this create new component .exe file is executed first, which creates component.h and component.cpp file and these files are modified according to the target mode

 

4.3 Transformation of PSM – PIM

The main objective of this phase is to recover the abstractions from the existing systems and to fuse the technologies that are implemented in different platforms [11]. The existing code is analyzed by which the entities and algorithms are identified. The phases in the development of Meta PSM are Identification of Classes, definig Attribtes and Functions, defining relationship between Classes, defining the constraints and defining the Aspects. The classes in the code are represented as atoms and models and the attributes and functions with the respective data types are defined as in the code. The relationships between different classes are defined as connections. The conditional statements are depicted in the model as constraints using OCL. PSM is obtained by interpreting this MetaPSM [19] and is shown in Figure9. The interpreter is developed by traversing the structure of the developed model. The output of interpreter is an XME file. This file can be imported to GME to transform one model to another. Figure 10 shows a sample of transformation.

 


                                       Figure 9 MetaPSM

 

 

 

 

 

 

 

 

               

 

 

  Figure 10 Diagrammatic view of Transformation

 

The   Sequences of steps to transform a PSM to PIM are as follows.  Removing the inheritance relationship between First Class Objects (FCOs) and the Classes, Changing Packages into models containing Atoms and Changing the function prototype from Java specific to a generic form as shown below.  The model of PIM generated by interpreting the PSM is shown in figure 11.

 

Java Specific XML fragment

 

 

 

 

 

 

 

XML Fragment for MetaPIM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                   Figure 11 Generated PIM

 

5 Discussions and Conclusion

This proposal is an attempt to promote software engineering towards matured engineering. The future goal is to extend the work for other pervasive services like Persistence, Transaction, Directory services and Event handling [7]. This work could also be extended for mappings like PSM–PSM and PIM–PIM. Though the proposed work supports interoperability, heterogeneity and portability, indirectly the modeling approach is tool dependent (GME) [21]. This can be solved by storing models as MDA components. MDA components are independent of vendor and language and are stored and retrieved in a uniform way. The paper has described how to utilize Model Driven Architecture in a domain specific environment. It outlines the transformation between the PIM and PSM models. The inspiration for choosing the MDA based approach is its attitude to reflect the model in the code. This work helped us to better understand the MDA approach to software development and to identify the problems and opportunities with the approach. MDA approach ensures potential benefits in mixed technological solutions and it can be easily assembled in new and legacy systems.

 

References

1.      A Kleppe, J Warmer, W Bast ; Addison Wesley, MDA Explained: The Model Driven Architecture: Practice and Promise, 2003

2.      Tools and information related to model-driven system development supporting OMG's vision of MDA; http://www.modelbased.net

3.      George Coulouris, Jean Dollimore and Tim Kindberg; Addison-Wesley, Edition 3, Distributed Systems: Concepts and Design, 2001

4.      CHAN, Siu-cheung Charles; An Overview of Smart Card Security, http://home.hkstar.com/~alanchan/papers/smartCardSecurity , 1997.

5.      Institute for Software Integrated Systems, Vanderbilt University; GME3 users Manual - Version 3.0, http://www.isis.vanderbilt.edu/ , March 2003.

6.      John D. Poole;  Model-Driven Architecture: Vision, Standards And Emerging Technologies, Position Paper Submitted to ECOOP 2001, Workshop on Metamodeling and Adaptive Object Models, Hyperion Solutions Corporation, April 2001

7.      OMG Architecture Board MDA Drafting Team, Model-Driven Architecture: A Technical     Perspective,ftp://ftp.omg.org/pub/docs/ab/01-02-01.pdf,   2001

8.      DI Management Services Pty Limited; RSA Algorithm, http://www.di-mgt.com.au/rsa_alg.html, Sydney, Australia, 2002

9.      Kristian Kohntopp, Boris Erdmann, Sascha Schumann; Using Challenge-Response Authentication,  http://www.sanisoft.com/phplib/manual/html/auth_Response.html, 2001

10. D. Dsouza; Model-driven architecture and integration - opportunities and challenges, http://www.kinetium.com/catalysis-org/publications/papers/2001-mda-reqs-desmond-6.pdf, 2001.

11. Patrick DJ Kulandaisamy , N.S.Nagaraj,  Srinivas Thonse; Representing Procedural Source in UML,http://www.omg.org/news/meetings/workshops/UML2002-Manual/04 2_Reverse_Engineering_Procedural_Code_using_UML.pdf ,  2002.

12. Schneier.B, Shostack, A. ; Breaking up is hard to do: Modeling security threats for smart cards, Proceedings of USENIX workshop on Smartcard technology, Chicago, Illinois, USA, May 1999, USENIX Association, pp. 175--185. 157.

13. Jean Bézivin, Sebastein Gerard, Pierre-Alain Mullar, Laurent Rioux,; MDA components: Challenges and Opportunities, France, http://www.sciences.univnantes.fr/Metamodelling4 MDA.York/ MDAComponentsChallengesOpportunities.V1.3.PDF.

14. K. Lano, J. Bicarregui; UML refinement and abstraction transformations, Second Workshop on Rigorous Object Orientated Methods: ROOM 2, Bradford, and May 1998.

15. Lemesle R ;Transformation Rules based on Metamodelling, EDOC, ‘98, La Jolla California 3-5,  pp 113-122, November 1998.

16. Joaquin Miller and Jishnu Mukerji, “MDA Guide Version 1.0”, OMG, 2003.

17. David Ireland; cryptography code page, Australia, http://www.di-mgt.com.au/crypto.html, 2003

18. Walter Savitch; Problem Solving with C++: The Object of Programming, Visual C++ 6.0 Edition, CodeMate Enhanced, Addison-Wesley, 2003.

19. Kovse, J., Härder, T; Generic XMI-Based UML Model Transformations,  Proc. OOIS’2002, Montpellier, Sept. 2002, Springer-Verlag, pp. 192-198.

20. SeacoastPM Software Modeling Survey, A research firm www.seacoast-pm.com, 2003

21. Generative Model Transformer. http://www.eclipse.org/gmt/

 

 


Technical College - Bourgas,

All rights reserved, © March, 2000